package com.gscitysfy.cus.drain.modules.duty.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gscitysfy.cloudfrmwk.portal.vo.UserInfoVO;
import com.gscitysfy.cus.drain.modules.duty.entity.MoperDutyMnPeople;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @author 葛守跃
 * @version 1.0.0
 * @ClassName IMoperDutyMnPeopleService
 * @Description 接口
 * @creatTime 2022-03-31 10:56:13
 */
public interface IMoperDutyMnPeopleService extends IService<MoperDutyMnPeople> {

    /**
     * 条件、分页查询值班人员
     * @param page
     * @param people
     * @return
     */
    IPage<MoperDutyMnPeople> getDutyPeopleListByCondition(Page<MoperDutyMnPeople> page, MoperDutyMnPeople people);

    /**
     * 添加值班人员
     * @param ids
     * @return
     */
    String addDutyPerson(String ids);

    /**
     * 根据条件导出值班人员
     *
     * @param response
     * @param people
     * @throws IOException
     */
    void exportDutyPerson(HttpServletResponse response, MoperDutyMnPeople people) throws IOException;

    /**
     * 获取所有启用并配置了自动排班的值班人员
     *
     * @return
     */
    List<MoperDutyMnPeople> selectEnableAutoDutyPeople();

    /**
     * 删除值班人员
     * @param ids
     * @return
     */
    Boolean deleteByIds (String ids);

    /**
     * 获取调班人员列表
     * @param people
     * @return
     */
    List<MoperDutyMnPeople> getExchangePeopleListByCondition(MoperDutyMnPeople people);


    /**
     * @auther: wuxinxin
     * @date: 2022/7/29 15:33
     * @Description:  值班人员基础信息更新
     * @param user
     * @return com.gscitysfy.cloudfrmwk.assistant.domain.Result<java.lang.String>
     */
    String updateDutyPersonByUserInfoVO( UserInfoVO user);


}
